{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.0.0-alpha0\n",
      "sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)\n",
      "matplotlib 3.0.3\n",
      "numpy 1.16.2\n",
      "pandas 0.24.2\n",
      "sklearn 0.20.3\n",
      "tensorflow 2.0.0-alpha0\n",
      "tensorflow.python.keras.api._v2.keras 2.2.4-tf\n"
     ]
    }
   ],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import sklearn\n",
    "import pandas as pd\n",
    "import os\n",
    "import sys\n",
    "import time\n",
    "import tensorflow as tf\n",
    "\n",
    "from tensorflow import keras\n",
    "\n",
    "print(tf.__version__)\n",
    "print(sys.version_info)\n",
    "for module in mpl, np, pd, sklearn, tf, keras:\n",
    "    print(module.__name__, module.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ".. _california_housing_dataset:\n",
      "\n",
      "California Housing dataset\n",
      "--------------------------\n",
      "\n",
      "**Data Set Characteristics:**\n",
      "\n",
      "    :Number of Instances: 20640\n",
      "\n",
      "    :Number of Attributes: 8 numeric, predictive attributes and the target\n",
      "\n",
      "    :Attribute Information:\n",
      "        - MedInc        median income in block\n",
      "        - HouseAge      median house age in block\n",
      "        - AveRooms      average number of rooms\n",
      "        - AveBedrms     average number of bedrooms\n",
      "        - Population    block population\n",
      "        - AveOccup      average house occupancy\n",
      "        - Latitude      house block latitude\n",
      "        - Longitude     house block longitude\n",
      "\n",
      "    :Missing Attribute Values: None\n",
      "\n",
      "This dataset was obtained from the StatLib repository.\n",
      "http://lib.stat.cmu.edu/datasets/\n",
      "\n",
      "The target variable is the median house value for California districts.\n",
      "\n",
      "This dataset was derived from the 1990 U.S. census, using one row per census\n",
      "block group. A block group is the smallest geographical unit for which the U.S.\n",
      "Census Bureau publishes sample data (a block group typically has a population\n",
      "of 600 to 3,000 people).\n",
      "\n",
      "It can be downloaded/loaded using the\n",
      ":func:`sklearn.datasets.fetch_california_housing` function.\n",
      "\n",
      ".. topic:: References\n",
      "\n",
      "    - Pace, R. Kelley and Ronald Barry, Sparse Spatial Autoregressions,\n",
      "      Statistics and Probability Letters, 33 (1997) 291-297\n",
      "\n",
      "(20640, 8)\n",
      "(20640,)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.datasets import fetch_california_housing\n",
    "\n",
    "housing = fetch_california_housing()\n",
    "print(housing.DESCR)\n",
    "print(housing.data.shape)\n",
    "print(housing.target.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(11610, 8) (11610,)\n",
      "(3870, 8) (3870,)\n",
      "(5160, 8) (5160,)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "x_train_all, x_test, y_train_all, y_test = train_test_split(\n",
    "    housing.data, housing.target, random_state = 7)\n",
    "x_train, x_valid, y_train, y_valid = train_test_split(\n",
    "    x_train_all, y_train_all, random_state = 11)\n",
    "print(x_train.shape, y_train.shape)\n",
    "print(x_valid.shape, y_valid.shape)\n",
    "print(x_test.shape, y_test.shape)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "scaler = StandardScaler()\n",
    "x_train_scaled = scaler.fit_transform(x_train)\n",
    "x_valid_scaled = scaler.transform(x_valid)\n",
    "x_test_scaled = scaler.transform(x_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"model\"\n",
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "input_2 (InputLayer)            [(None, 6)]          0                                            \n",
      "__________________________________________________________________________________________________\n",
      "dense (Dense)                   (None, 30)           210         input_2[0][0]                    \n",
      "__________________________________________________________________________________________________\n",
      "input_1 (InputLayer)            [(None, 5)]          0                                            \n",
      "__________________________________________________________________________________________________\n",
      "dense_1 (Dense)                 (None, 30)           930         dense[0][0]                      \n",
      "__________________________________________________________________________________________________\n",
      "concatenate (Concatenate)       (None, 35)           0           input_1[0][0]                    \n",
      "                                                                 dense_1[0][0]                    \n",
      "__________________________________________________________________________________________________\n",
      "dense_2 (Dense)                 (None, 1)            36          concatenate[0][0]                \n",
      "__________________________________________________________________________________________________\n",
      "dense_3 (Dense)                 (None, 1)            31          dense_1[0][0]                    \n",
      "==================================================================================================\n",
      "Total params: 1,207\n",
      "Trainable params: 1,207\n",
      "Non-trainable params: 0\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "# 多输出\n",
    "input_wide = keras.layers.Input(shape=[5])\n",
    "input_deep = keras.layers.Input(shape=[6])\n",
    "hidden1 = keras.layers.Dense(30, activation='relu')(input_deep)\n",
    "hidden2 = keras.layers.Dense(30, activation='relu')(hidden1)\n",
    "concat = keras.layers.concatenate([input_wide, hidden2])\n",
    "output = keras.layers.Dense(1)(concat)\n",
    "output2 = keras.layers.Dense(1)(hidden2)\n",
    "model = keras.models.Model(inputs = [input_wide, input_deep],\n",
    "                           outputs = [output, output2])\n",
    "        \n",
    "\n",
    "model.compile(loss=\"mean_squared_error\", optimizer=\"sgd\")\n",
    "callbacks = [keras.callbacks.EarlyStopping(\n",
    "    patience=5, min_delta=1e-2)]\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 2s 140us/sample - loss: 3.6413 - dense_2_loss: 1.5262 - dense_3_loss: 2.1151 - val_loss: 2.2663 - val_dense_2_loss: 0.8204 - val_dense_3_loss: 1.4458\n",
      "Epoch 2/100\n",
      "11610/11610 [==============================] - 1s 88us/sample - loss: 1.8789 - dense_2_loss: 0.6661 - dense_3_loss: 1.2128 - val_loss: 1.8468 - val_dense_2_loss: 0.6580 - val_dense_3_loss: 1.1888\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 79us/sample - loss: 1.5835 - dense_2_loss: 0.5710 - dense_3_loss: 1.0125 - val_loss: 1.5989 - val_dense_2_loss: 0.5898 - val_dense_3_loss: 1.0091\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 1.3976 - dense_2_loss: 0.5262 - dense_3_loss: 0.8714 - val_loss: 1.4309 - val_dense_2_loss: 0.5472 - val_dense_3_loss: 0.8836\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - ETA: 0s - loss: 1.2764 - dense_2_loss: 0.4979 - dense_3_loss: 0.778 - 1s 79us/sample - loss: 1.2825 - dense_2_loss: 0.5015 - dense_3_loss: 0.7810 - val_loss: 1.3238 - val_dense_2_loss: 0.5219 - val_dense_3_loss: 0.8019\n",
      "Epoch 6/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 1.2132 - dense_2_loss: 0.4863 - dense_3_loss: 0.7269 - val_loss: 1.2727 - val_dense_2_loss: 0.5119 - val_dense_3_loss: 0.7608\n",
      "Epoch 7/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 1.1686 - dense_2_loss: 0.4757 - dense_3_loss: 0.6930 - val_loss: 1.2327 - val_dense_2_loss: 0.4978 - val_dense_3_loss: 0.7349\n",
      "Epoch 8/100\n",
      "11610/11610 [==============================] - 1s 88us/sample - loss: 1.1376 - dense_2_loss: 0.4672 - dense_3_loss: 0.6703 - val_loss: 1.1997 - val_dense_2_loss: 0.4886 - val_dense_3_loss: 0.7111\n",
      "Epoch 9/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 1.1138 - dense_2_loss: 0.4601 - dense_3_loss: 0.6536 - val_loss: 1.1747 - val_dense_2_loss: 0.4840 - val_dense_3_loss: 0.6906\n",
      "Epoch 10/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 1.0968 - dense_2_loss: 0.4543 - dense_3_loss: 0.6425 - val_loss: 1.1461 - val_dense_2_loss: 0.4736 - val_dense_3_loss: 0.6725\n",
      "Epoch 11/100\n",
      "11610/11610 [==============================] - 1s 85us/sample - loss: 1.0796 - dense_2_loss: 0.4485 - dense_3_loss: 0.6310 - val_loss: 1.1379 - val_dense_2_loss: 0.4675 - val_dense_3_loss: 0.6704\n",
      "Epoch 12/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 1.0631 - dense_2_loss: 0.4433 - dense_3_loss: 0.6197 - val_loss: 1.1426 - val_dense_2_loss: 0.4735 - val_dense_3_loss: 0.6692\n",
      "Epoch 13/100\n",
      "11610/11610 [==============================] - 1s 93us/sample - loss: 1.0549 - dense_2_loss: 0.4428 - dense_3_loss: 0.6122 - val_loss: 1.1115 - val_dense_2_loss: 0.4630 - val_dense_3_loss: 0.6485\n",
      "Epoch 14/100\n",
      "11610/11610 [==============================] - 1s 79us/sample - loss: 1.0378 - dense_2_loss: 0.4353 - dense_3_loss: 0.6025 - val_loss: 1.0915 - val_dense_2_loss: 0.4555 - val_dense_3_loss: 0.6360\n",
      "Epoch 15/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 1.0282 - dense_2_loss: 0.4323 - dense_3_loss: 0.5959 - val_loss: 1.0773 - val_dense_2_loss: 0.4500 - val_dense_3_loss: 0.6273\n",
      "Epoch 16/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 1.0175 - dense_2_loss: 0.4286 - dense_3_loss: 0.5890 - val_loss: 1.0693 - val_dense_2_loss: 0.4482 - val_dense_3_loss: 0.6211\n",
      "Epoch 17/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 1.0067 - dense_2_loss: 0.4244 - dense_3_loss: 0.5823 - val_loss: 1.0554 - val_dense_2_loss: 0.4465 - val_dense_3_loss: 0.6089\n",
      "Epoch 18/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.9975 - dense_2_loss: 0.4210 - dense_3_loss: 0.5765 - val_loss: 1.0694 - val_dense_2_loss: 0.4401 - val_dense_3_loss: 0.6294\n",
      "Epoch 19/100\n",
      "11610/11610 [==============================] - 1s 79us/sample - loss: 0.9886 - dense_2_loss: 0.4181 - dense_3_loss: 0.5705 - val_loss: 1.0536 - val_dense_2_loss: 0.4451 - val_dense_3_loss: 0.6085\n",
      "Epoch 20/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 0.9822 - dense_2_loss: 0.4157 - dense_3_loss: 0.5665 - val_loss: 1.0462 - val_dense_2_loss: 0.4325 - val_dense_3_loss: 0.6136\n",
      "Epoch 21/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 0.9780 - dense_2_loss: 0.4159 - dense_3_loss: 0.5620 - val_loss: 1.0174 - val_dense_2_loss: 0.4300 - val_dense_3_loss: 0.5874\n",
      "Epoch 22/100\n",
      "11610/11610 [==============================] - 1s 106us/sample - loss: 0.9678 - dense_2_loss: 0.4112 - dense_3_loss: 0.5565 - val_loss: 1.0175 - val_dense_2_loss: 0.4294 - val_dense_3_loss: 0.5881\n",
      "Epoch 23/100\n",
      "11610/11610 [==============================] - 1s 93us/sample - loss: 0.9600 - dense_2_loss: 0.4086 - dense_3_loss: 0.5514 - val_loss: 1.0108 - val_dense_2_loss: 0.4281 - val_dense_3_loss: 0.5827\n",
      "Epoch 24/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.9530 - dense_2_loss: 0.4061 - dense_3_loss: 0.5469 - val_loss: 0.9944 - val_dense_2_loss: 0.4251 - val_dense_3_loss: 0.5693\n",
      "Epoch 25/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 0.9485 - dense_2_loss: 0.4046 - dense_3_loss: 0.5439 - val_loss: 0.9847 - val_dense_2_loss: 0.4209 - val_dense_3_loss: 0.5638\n",
      "Epoch 26/100\n",
      "11610/11610 [==============================] - 1s 79us/sample - loss: 0.9414 - dense_2_loss: 0.4023 - dense_3_loss: 0.5391 - val_loss: 0.9886 - val_dense_2_loss: 0.4198 - val_dense_3_loss: 0.5688\n",
      "Epoch 27/100\n",
      "11610/11610 [==============================] - 1s 86us/sample - loss: 0.9357 - dense_2_loss: 0.4009 - dense_3_loss: 0.5348 - val_loss: 0.9763 - val_dense_2_loss: 0.4161 - val_dense_3_loss: 0.5603: 0.9302 - dense_2_loss: 0.3987 - dense_3_loss: 0.531\n",
      "Epoch 28/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 0.9318 - dense_2_loss: 0.3995 - dense_3_loss: 0.5324 - val_loss: 0.9689 - val_dense_2_loss: 0.4207 - val_dense_3_loss: 0.5482\n",
      "Epoch 29/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 0.9261 - dense_2_loss: 0.3977 - dense_3_loss: 0.5284 - val_loss: 0.9697 - val_dense_2_loss: 0.4249 - val_dense_3_loss: 0.5448\n",
      "Epoch 30/100\n",
      "11610/11610 [==============================] - 1s 83us/sample - loss: 0.9218 - dense_2_loss: 0.3957 - dense_3_loss: 0.5262 - val_loss: 0.9668 - val_dense_2_loss: 0.4101 - val_dense_3_loss: 0.5567\n",
      "Epoch 31/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 0.9153 - dense_2_loss: 0.3932 - dense_3_loss: 0.5221 - val_loss: 0.9519 - val_dense_2_loss: 0.4112 - val_dense_3_loss: 0.5408\n",
      "Epoch 32/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 0.9108 - dense_2_loss: 0.3936 - dense_3_loss: 0.5172 - val_loss: 0.9602 - val_dense_2_loss: 0.4086 - val_dense_3_loss: 0.5517\n",
      "Epoch 33/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 0.9040 - dense_2_loss: 0.3907 - dense_3_loss: 0.5133 - val_loss: 0.9442 - val_dense_2_loss: 0.4094 - val_dense_3_loss: 0.5349\n",
      "Epoch 34/100\n",
      "11610/11610 [==============================] - 1s 94us/sample - loss: 0.9035 - dense_2_loss: 0.3889 - dense_3_loss: 0.5146 - val_loss: 0.9439 - val_dense_2_loss: 0.4062 - val_dense_3_loss: 0.5378\n",
      "Epoch 35/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 0.8949 - dense_2_loss: 0.3877 - dense_3_loss: 0.5072 - val_loss: 0.9287 - val_dense_2_loss: 0.4023 - val_dense_3_loss: 0.5264\n",
      "Epoch 36/100\n",
      "11610/11610 [==============================] - 1s 83us/sample - loss: 0.8912 - dense_2_loss: 0.3875 - dense_3_loss: 0.5037 - val_loss: 0.9336 - val_dense_2_loss: 0.4143 - val_dense_3_loss: 0.5193\n",
      "Epoch 37/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.8951 - dense_2_loss: 0.3864 - dense_3_loss: 0.5086 - val_loss: 0.9203 - val_dense_2_loss: 0.4000 - val_dense_3_loss: 0.5203\n",
      "Epoch 38/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 0.8817 - dense_2_loss: 0.3841 - dense_3_loss: 0.4976 - val_loss: 0.9189 - val_dense_2_loss: 0.3986 - val_dense_3_loss: 0.5203\n",
      "Epoch 39/100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.8775 - dense_2_loss: 0.3826 - dense_3_loss: 0.4948 - val_loss: 0.9162 - val_dense_2_loss: 0.3983 - val_dense_3_loss: 0.5179\n",
      "Epoch 40/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.8731 - dense_2_loss: 0.3807 - dense_3_loss: 0.4924 - val_loss: 0.9095 - val_dense_2_loss: 0.3961 - val_dense_3_loss: 0.5134\n",
      "Epoch 41/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 0.8670 - dense_2_loss: 0.3797 - dense_3_loss: 0.4873 - val_loss: 0.9023 - val_dense_2_loss: 0.3983 - val_dense_3_loss: 0.5040\n",
      "Epoch 42/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 0.8754 - dense_2_loss: 0.3817 - dense_3_loss: 0.4937 - val_loss: 0.9016 - val_dense_2_loss: 0.3941 - val_dense_3_loss: 0.5075\n",
      "Epoch 43/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.8630 - dense_2_loss: 0.3779 - dense_3_loss: 0.4852 - val_loss: 0.9117 - val_dense_2_loss: 0.3914 - val_dense_3_loss: 0.5203\n",
      "Epoch 44/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.8605 - dense_2_loss: 0.3767 - dense_3_loss: 0.4838 - val_loss: 1.0203 - val_dense_2_loss: 0.4092 - val_dense_3_loss: 0.6111\n",
      "Epoch 45/100\n",
      "11610/11610 [==============================] - 1s 79us/sample - loss: 0.8569 - dense_2_loss: 0.3762 - dense_3_loss: 0.4807 - val_loss: 0.9213 - val_dense_2_loss: 0.3898 - val_dense_3_loss: 0.5315\n",
      "Epoch 46/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.8488 - dense_2_loss: 0.3735 - dense_3_loss: 0.4753 - val_loss: 0.8888 - val_dense_2_loss: 0.3935 - val_dense_3_loss: 0.4953\n",
      "Epoch 47/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.8507 - dense_2_loss: 0.3743 - dense_3_loss: 0.4764 - val_loss: 0.8844 - val_dense_2_loss: 0.3886 - val_dense_3_loss: 0.4957\n",
      "Epoch 48/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.8454 - dense_2_loss: 0.3733 - dense_3_loss: 0.4720 - val_loss: 0.8802 - val_dense_2_loss: 0.3925 - val_dense_3_loss: 0.4877\n",
      "Epoch 49/100\n",
      "11610/11610 [==============================] - 1s 73us/sample - loss: 0.8460 - dense_2_loss: 0.3721 - dense_3_loss: 0.4739 - val_loss: 0.8738 - val_dense_2_loss: 0.3877 - val_dense_3_loss: 0.4861\n",
      "Epoch 50/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.8347 - dense_2_loss: 0.3695 - dense_3_loss: 0.4652 - val_loss: 0.8721 - val_dense_2_loss: 0.3856 - val_dense_3_loss: 0.4865\n",
      "Epoch 51/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.8320 - dense_2_loss: 0.3686 - dense_3_loss: 0.4635 - val_loss: 0.8666 - val_dense_2_loss: 0.3875 - val_dense_3_loss: 0.4791\n",
      "Epoch 52/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 0.8342 - dense_2_loss: 0.3693 - dense_3_loss: 0.4649 - val_loss: 0.8617 - val_dense_2_loss: 0.3849 - val_dense_3_loss: 0.4768\n",
      "Epoch 53/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.8276 - dense_2_loss: 0.3670 - dense_3_loss: 0.4606 - val_loss: 0.8648 - val_dense_2_loss: 0.3807 - val_dense_3_loss: 0.4842\n",
      "Epoch 54/100\n",
      "11610/11610 [==============================] - 1s 88us/sample - loss: 0.8286 - dense_2_loss: 0.3677 - dense_3_loss: 0.4610 - val_loss: 0.8662 - val_dense_2_loss: 0.3795 - val_dense_3_loss: 0.4866\n",
      "Epoch 55/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.8262 - dense_2_loss: 0.3682 - dense_3_loss: 0.4580 - val_loss: 0.8565 - val_dense_2_loss: 0.3822 - val_dense_3_loss: 0.4743\n",
      "Epoch 56/100\n",
      "11610/11610 [==============================] - 1s 90us/sample - loss: 0.8198 - dense_2_loss: 0.3643 - dense_3_loss: 0.4555 - val_loss: 0.8532 - val_dense_2_loss: 0.3808 - val_dense_3_loss: 0.4724\n",
      "Epoch 57/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.8177 - dense_2_loss: 0.3646 - dense_3_loss: 0.4531 - val_loss: 0.8554 - val_dense_2_loss: 0.3844 - val_dense_3_loss: 0.4710\n"
     ]
    }
   ],
   "source": [
    "x_train_scaled_wide = x_train_scaled[:, :5]\n",
    "x_train_scaled_deep = x_train_scaled[:, 2:]\n",
    "x_valid_scaled_wide = x_valid_scaled[:, :5]\n",
    "x_valid_scaled_deep = x_valid_scaled[:, 2:]\n",
    "x_test_scaled_wide = x_test_scaled[:, :5]\n",
    "x_test_scaled_deep = x_test_scaled[:, 2:]\n",
    "\n",
    "history = model.fit([x_train_scaled_wide, x_train_scaled_deep],\n",
    "                    [y_train, y_train],\n",
    "                    validation_data = (\n",
    "                        [x_valid_scaled_wide, x_valid_scaled_deep],\n",
    "                        [y_valid, y_valid]),\n",
    "                    epochs = 100,\n",
    "                    callbacks = callbacks)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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9+7dg10MQRAE4SIimrUFQRAEYYgRwVkQBEEQhhgRnAVBEARhiBHBWRAEQRCGGBGcz0FP6zmf6Z577mH16tXnsTTdczgcXH/99WRlZZGdnX3W3OozPfPMM7z00ksXqHSCIAjCmURwvkT88Ic/5NChQ+zatYstW7bw8ccfD3aRBEEQhG4M2alUm1aVUHu8+wxc/RGTambWd8Z2+/iTTz5JampqcMnIZ555Bo1Gw/r162loaMDr9fL8889z00039fpesizzyCOP8Omnn5KamopOpws+tmPHDh5//HHsdjsxMTG8/vrrJCYmMnfuXKZNm8b69etpbGzkL3/5C7NmzWL//v0sW7YMj8dDIBDgX//6FwkJCfz973/nd7/7HR6Ph2nTpvHf//3fqNXqs8piMpmYN28eADqdjokTJ1JZWRnSNdu9ezcPPPAADoeDUaNG8de//hWr1crvfvc7XnnlFTQaDePHj2flypVs2LCBRx99FABJkti4cSPh4eEhvY8gCILQTtScO1i8eDGrVq0K3l61ahVLly7lvffeY+fOnaxfv55///d/R5blXl/rvffeo7i4mAMHDvDGG2/w5ZdfAuD1ennkkUdYvXo1O3bs4N577+Wpp54KPs/n87Ft2zZ+85vf8OyzzwIE133evXs333zzDSkpKRQXF/P222+zZcsWdu/ejVqt5q233uq1XI2NjXz00UcsWLAgpGty991388ILL1BUVERubm6wTL/85S/ZtWsXRUVFvPLKKwC89NJLvPzyy+zevZtNmzZhNBpDeg9BEAShsyFbc+6phnu+dFzPuaamJrie8w9+8AM2btyISqUKrueckJDQ42tt3LiR22+/HbVaTVJSEvPnzweguLiYffv2ceWVVwLg9/tJTEwMPu+WW24BYNKkSZSXlwMwY8YMVqxYQWVlJbfccgtjxoyhsLCQHTt2MGXKFACcTidxcXE9lsnn83H77bezfPlyMjIyer0eTU1NNDY2MmfOHACWLl3KokWLAMjLy2PJkiUsXLiQhQsXAjBz5kwef/xxlixZwi233EJKSkqv7yEIgiCcbcgG58FyvtdzlmWZ7OzsbhfT0Ov1AKjVanw+H9D1us+yLLN06VJ+8YtfhPze999/P2PGjOGxxx7rd/nbrFmzho0bN/LRRx+xYsUK9u7dy5NPPsn111/P2rVrmTlzJuvWrevXKl6C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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_learning_curves(history):\n",
    "    pd.DataFrame(history.history).plot(figsize=(8, 5))\n",
    "    plt.grid(True)\n",
    "    plt.gca().set_ylim(0, 1)\n",
    "    plt.show()\n",
    "plot_learning_curves(history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5160/5160 [==============================] - 0s 43us/sample - loss: 0.8420 - dense_2_loss: 0.3808 - dense_3_loss: 0.4611\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[0.8419654707575953, 0.3808211, 0.46114436]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.evaluate([x_test_scaled_wide, x_test_scaled_deep],\n",
    "               [y_test, y_test])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
